#include "cmsis_os2.h"
#include "lvgl.h"


extern osMutexId_t LvglMutexHandle;

void StartLvglTask(void *argument)
{
    osMutexAcquire(LvglMutexHandle, osWaitForever);

    lv_obj_t* lv_ddlist1 = lv_dropdown_create(lv_scr_act());        /* 创建一个下拉列表 1 */
    lv_dropdown_set_options(lv_ddlist1, "a\nb\nc\nd");              /* 方法一 添加多个选项（动态） */
    lv_obj_set_pos(lv_ddlist1, 100, 100);                           /* 设置位置 */
    lv_dropdown_set_selected(lv_ddlist1, 0);                        /* 默认显示的选项 */

    lv_obj_t* lv_ddlist2 = lv_dropdown_create(lv_scr_act());        /* 创建一个下拉列表 2 */
    lv_obj_set_pos(lv_ddlist2, 300, 100);                           /* 设置位置 */
    lv_dropdown_add_option(lv_ddlist2, "0", 0);                     /* 方法二 添加单个选项 */
    lv_dropdown_add_option(lv_ddlist2, "1", 1);                     /* 方法二 添加单个选项 */
    lv_dropdown_add_option(lv_ddlist2, "2", 2);                     /* 方法二 添加单个选项 */
    lv_dropdown_add_option(lv_ddlist2, "3", 3);                     /* 方法二 添加单个选项 */
    lv_dropdown_set_selected(lv_ddlist2, 1);                        /* 默认显示的选项 */

    lv_obj_t* lv_ddlist3 = lv_dropdown_create(lv_scr_act());        /* 创建一个下拉列表 3 */
    lv_obj_set_pos(lv_ddlist3, 500, 100);                           /* 设置位置 */
    lv_dropdown_set_options_static(lv_ddlist3, "1");                /* 方法三 添加多个选项（静态） */

    osMutexRelease(LvglMutexHandle);

    for(;;)
    {
        osMutexAcquire(LvglMutexHandle, osWaitForever);
        lv_timer_handler();
        osMutexRelease(LvglMutexHandle);
        osDelay(5);
    }
}
